﻿using Common.Attributes;
using Domain.Entities.Identity;
using Domain.ValueObjects;

namespace Application.Features.Menus.DTOs;

[Map(typeof(Menu))]
public class BackupMenuOutput
{
    /// <summary>
    /// 父级节点
    /// </summary>
    public long? Id { get; set; }

    /// <summary>
    /// 父级节点
    /// </summary>
    public long? ParentId { get; set; }

    /// <summary>
    /// 路由名称
    /// </summary>
    public  string? Name { get; set; }

    /// <summary>
    /// 路由路径
    /// </summary>
    public  string? Path { get; set; }

    /// <summary>
    /// 路由重定向
    /// </summary>
    public  string? Redirect { get; set; }

    /// <summary>
    /// 菜单高亮
    /// </summary>
    public  string? Active { get; set; }

    /// <summary>
    /// 组件路径
    /// </summary>
    public  string? Component { get; set; }

    /// <summary>
    /// 权限标识
    /// </summary>
    public  string? Code { get; set; }

    /// <summary>
    /// 链接地址
    /// </summary>
    public  string? Url { get; set; }

    /// <summary>
    /// 接口请求方式
    /// </summary>
    public  string? HttpMethods { get; set; }

    /// <summary>
    /// 元信息
    /// </summary>
    [Map(typeof(Meta))]
    public MetaData? Meta { get; set; }
}